﻿using System;

namespace YG.CommonFuncs
{
    /// <summary>
    /// errorcode定义
    /// </summary>
    public enum ErrorCodeDefine : int
    {
        ///failed,Header无数据,数据未插入
        Err300 = 300,

        ///数据库插入异常，已经roolback
        Err301,

        ///二进制文件获取失败，字符为空
        Err302,

        /// <summary>
        /// 303报错
        /// </summary>
        Err303,

        /// 成功
        Err200
    }

    public class InternalResult
    {
        private ErrorCodeDefine errorCode;
        private String errorMsg;
        private String debugMsg;

        public InternalResult(ErrorCodeDefine errorCode, string errorMsg, string debugMsg)
        {
            this.ErrorCode = errorCode;
            this.ErrorMsg = errorMsg != null ? errorMsg : "";
            this.DebugMsg = debugMsg != null ? debugMsg : "";
        }

        public InternalResult(string errorMsg, string debugMsg)
        {
            this.ErrorCode = ErrorCodeDefine.Err200;
            this.ErrorMsg = errorMsg != null ? errorMsg : "";
            this.DebugMsg = debugMsg != null ? debugMsg : "";
        }

        public InternalResult(ErrorCodeDefine errorCode, string msg)
        {
            this.ErrorCode = errorCode;
            this.ErrorMsg = msg != null ? msg : "";
            this.DebugMsg = msg != null ? msg : "";
        }

        public InternalResult(ErrorCodeDefine errorCode)
        {
            this.ErrorCode = errorCode;
            this.ErrorMsg = "";
            this.DebugMsg = "";
        }

        //public InternalResult(ErrorCodeDefine errorCode, string ErrorMsg)
        //{
        //    this.ErrorCode = errorCode;
        //    this.ErrorMsg = ErrorMsg != null ? ErrorMsg : "";
        //    this.DebugMsg =  "";
        //}
        //public InternalResult( string DebugMsg, ErrorCodeDefine errorCode)
        //{
        //    this.ErrorCode = errorCode;
        //    this.ErrorMsg = "";
        //    this.DebugMsg = DebugMsg != null ? DebugMsg : "";
        //}

        public ErrorCodeDefine ErrorCode { get => errorCode; set => errorCode = value; }
        public string ErrorMsg { get => errorMsg; set => errorMsg = value; }
        public string DebugMsg { get => debugMsg; set => debugMsg = value; }
    }
}